package org.smartboot.sosa.rpc.process;

import org.smartboot.sosa.rpc.RpcConfig;
import org.smartboot.sosa.rpc.RpcUnit;

/**
 * 消息处理器
 *
 * @author Seer
 * @version MessageProcessor.java, v 0.1 2015年11月22日 下午2:22:35 Seer Exp.
 */
public interface MessageProcessor<T> extends MessageReceiver<T>{

	/**
	 * 初始化处理器
	 *
	 * @throws Exception
	 */
	public void init(RpcConfig config) throws Exception;

	/**
	 * 处理接收到的消息
	 * @param processUnit
	 * @throws Exception
	 */
	public void process(RpcUnit<T> processUnit) throws Exception;

	/**
	 * 关闭处理器
	 */
	public void shutdown();

}
